package com.zhangtai.modules.dto;

import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.zhangtai.config.LongJsonDeserializer;
import com.zhangtai.config.LongJsonSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;


/**
 * 员工银行卡 记录
 *
 * @author chenshun
 * @email sunlightcs@gmail.com
 * @date 2020-09-07 19:52:13
 */
@Data
public class UserBankCardDto implements Serializable {
	private static final long serialVersionUID = 1L;

			/**
		 * 银行卡记录id
		 */
				@TableId
		@JsonDeserialize(using = LongJsonDeserializer.class)
		@JsonSerialize(using = LongJsonSerializer.class)
				@ApiModelProperty(value="银行卡记录id",required = false)
			private Long id;
			/**
		 * 员工id
		 */
			@JsonDeserialize(using = LongJsonDeserializer.class)
			@JsonSerialize(using = LongJsonSerializer.class)
			@ApiModelProperty(value="员工id",required = false)
			private Long oid;
			/**
		 * 银行卡号
		 */
			@ApiModelProperty(value="银行卡号",required = false)
			private String bankcardNum;

			/**
		 * 创建时间
		 */
			@ApiModelProperty(value="创建时间",required = false)
			private Date createTime;


	/**
	 * 创建人名字
	 */
	@ApiModelProperty(value="创建人名字",required = false)
	private String createName;
	/**
	 * 修改人名字
	 */
	@ApiModelProperty(value="修改人名字",required = false)
	private String updateName;

	/**
	 * 开户银行
	 */
	@ApiModelProperty(value="开户银行",required = false)
	private String bankAccount;
	/**
	 * 所属支行
	 */
	@ApiModelProperty(value="所属支行",required = false)
	private String subBranch;

	/**
	 * 生效日期
	 */
	@ApiModelProperty(value="生效日期",required = false)
	private Date effectiveDate;

	/**
	 * 银行卡正面url
	 */
	@ApiModelProperty(value="银行卡正面url",required = false)
	private String idcardUpUrl;

	/**
	 * 银行卡反面url
	 */
	@ApiModelProperty(value="银行卡反面url",required = false)
	private String idcardDownUrl;


	@ApiModelProperty(value="变更记录",required = false)
	private List<UserBankCardAnnalDto> UserBankCardAnnalDtoList;

	/**
	 * 类型 1新增  2变更
	 */
	@ApiModelProperty(value="类型 1新增  2变更",required = false)
	private Integer type;

	/**
	 * 姓名
	 */
	@ApiModelProperty(value="姓名",required = false)
	private String name;

	/**
	 * 工号
	 */
	@ApiModelProperty(value="工号",required = false)
	private String code;

	/**
	 * 拟录用部门
	 */
	@ApiModelProperty(value="拟录用部门",required = false)
	private String unitname;
	/**
	 * 部门id
	 */
	@ApiModelProperty(value="类部门id",required = false)
	@JsonDeserialize(using = LongJsonDeserializer.class)
	@JsonSerialize(using = LongJsonSerializer.class)
	private Long unitId;

	@ApiModelProperty(value="类部门id",required = false)
	@JsonDeserialize(using = LongJsonDeserializer.class)
	@JsonSerialize(using = LongJsonSerializer.class)
	private Long uid;

	/**
	 * * 拟录用公司
	 */
	@ApiModelProperty(value="拟录用公司",required = false)
	private String orgname;
	/**
	 * 公司id
	 */
	@JsonDeserialize(using = LongJsonDeserializer.class)
	@JsonSerialize(using = LongJsonSerializer.class)
	@ApiModelProperty(value="公司id",required = false)
	private Long orgId;
	/**
	 * 拟录用岗位
	 */
	@ApiModelProperty(value="拟录用岗位",required = false)
	private String jobname;
	/**
	 * 岗位id
	 */
	@JsonDeserialize(using = LongJsonDeserializer.class)
	@JsonSerialize(using = LongJsonSerializer.class)
	@ApiModelProperty(value="岗位id",required = false)
	private Long jobId;

	/**
	 * 职级id
	 */
	@JsonDeserialize(using = LongJsonDeserializer.class)
	@JsonSerialize(using = LongJsonSerializer.class)
	@ApiModelProperty(value="职级id",required = false)
	private Long jobLevelId;
	/**
	 * 职级
	 */
	@ApiModelProperty(value="职级",required = false)
	private String jobLevel;

	@ApiModelProperty(value = "职级类别,1:专业职级，2：管理职级", required = false)
	private Integer jobLevelType;


	/**
	 * 处理  1待处理  2已处理 3驳回
	 */
	@ApiModelProperty(value="处理  1待处理  2已处理 3驳回",required = false)
	private Integer status;

	/**
	 * 备注
	 */
	@ApiModelProperty(value="备注",required = false)
	private String remark;
}
